ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb1[16], immediateIndexed
dcl_constantbuffer cb2[16], immediateIndexed
dcl_constantbuffer cb5[91], immediateIndexed
dcl_constantbuffer cb3[59], immediateIndexed
dcl_sampler s4, mode_default
dcl_sampler s9, mode_default
dcl_sampler s10, mode_default
dcl_sampler s11, mode_default
dcl_sampler s12, mode_default
dcl_sampler s13, mode_default
dcl_sampler s14, mode_default
dcl_sampler s15, mode_default
dcl_resource_texture2dms(0) (float,float,float,float) t3
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_texture2dms(0) (float,float,float,float) t5
dcl_resource_texture2d (float,float,float,float) t7
dcl_resource_texture2dms(0) (uint,uint,uint,uint) t8
dcl_resource_texture2d (float,float,float,float) t9
dcl_resource_texture2d (float,float,float,float) t10
dcl_resource_texture2d (float,float,float,float) t11
dcl_resource_texture2d (float,float,float,float) t12
dcl_resource_texture2d (float,float,float,float) t13
dcl_resource_texture2d (float,float,float,float) t14
dcl_resource_texture2d (float,float,float,float) t15
dcl_input_ps linear v1.xyzw
dcl_input_ps constant v4.xyzw
dcl_input_ps constant v5.xyzw
dcl_input_ps constant v6.xyzw
dcl_input_ps constant v7.xyzw
dcl_input_ps constant v8.xyzw
dcl_input_ps constant v9.xyzw
dcl_input_ps constant v10.xyz
dcl_input_ps constant v11.xyzw
dcl_input_ps constant v12.xyzw
dcl_input_ps constant v13.xyw
dcl_input_ps constant v14.yzw
dcl_input_ps constant v15.x
dcl_output o0.xyzw
dcl_temps 16
mul r0.xy, v1.xyxx, cb2[15].xyxx
round_z r0.xy, r0.xyxx
ftoi r0.xy, r0.xyxx
mov r0.zw, l(0,0,0,0)
ldms_indexable(texture2dms)(float,float,float,float) r1.xyz, r0.xyww, t5.xyzw, l(0)
ldms_indexable(texture2dms)(float,float,float,float) r1.w, r0.xyww, t3.yzwx, l(0)
mul r1.xyz, r1.xyzx, cb2[14].wwww
lt r2.x, l(0.000000e+000), cb5[90].w
if_z r2.x
  add r2.x, -r1.w, cb5[0].w
  add r2.x, r2.x, l(1.000000e+000)
  div r2.x, cb5[0].z, r2.x
  mad r3.xyzw, cb5[72].xyxy, l(-1.000000e+000, -5.000000e-001, 5.000000e-001, -1.000000e+000), v1.xyxy
  sample_indexable(texture2d)(float,float,float,float) r2.yzw, r3.xyxx, t4.wxyz, s4
  sample_indexable(texture2d)(float,float,float,float) r4.xyz, r3.zwzz, t4.xyzw, s4
  mad r5.xyzw, cb5[72].xyxy, l(-5.000000e-001, 1.000000e+000, 1.000000e+000, 5.000000e-001), v1.xyxy
  sample_indexable(texture2d)(float,float,float,float) r6.xyz, r5.xyxx, t4.xyzw, s4
  sample_indexable(texture2d)(float,float,float,float) r7.xyz, r5.zwzz, t4.xyzw, s4
  sample_indexable(texture2d)(float,float,float,float) r8.xyz, v1.xyxx, t4.xyzw, s4
  add r2.yzw, r2.yyzw, r4.xxyz
  add r2.yzw, r6.xxyz, r2.yyzw
  add r2.yzw, r7.xxyz, r2.yyzw
  mul r4.xyz, r8.xyzx, l(5.000000e-001, 5.000000e-001, 5.000000e-001, 0.000000e+000)
  mad r2.yzw, r8.xxyz, l(0.000000e+000, 5.000000e-001, 5.000000e-001, 5.000000e-001), r2.yyzw
  sample_indexable(texture2d)(float,float,float,float) r6.xyz, r3.xyxx, t9.xyzw, s9
  sample_indexable(texture2d)(float,float,float,float) r3.xyz, r3.zwzz, t9.xyzw, s9
  sample_indexable(texture2d)(float,float,float,float) r7.xyz, r5.xyxx, t9.xyzw, s9
  sample_indexable(texture2d)(float,float,float,float) r5.xyz, r5.zwzz, t9.xyzw, s9
  sample_indexable(texture2d)(float,float,float,float) r8.xyz, v1.xyxx, t9.xyzw, s9
  add r3.xyz, r3.xyzx, r6.xyzx
  add r3.xyz, r7.xyzx, r3.xyzx
  add r3.xyz, r5.xyzx, r3.xyzx
  mad r3.xyz, r8.xyzx, l(5.000000e-001, 5.000000e-001, 5.000000e-001, 0.000000e+000), r3.xyzx
  mad r4.xyz, r8.xyzx, l(5.000000e-001, 5.000000e-001, 5.000000e-001, 0.000000e+000), r4.xyzx
  mul r2.yzw, r2.yyzw, l(0.000000e+000, 1.111111e-001, 1.111111e-001, 1.111111e-001)
  mad r2.yzw, r3.xxyz, l(0.000000e+000, 1.111111e-001, 1.111111e-001, 1.111111e-001), r2.yyzw
  ne r3.x, l(0.000000e+000), cb5[4].x
  movc r3.yzw, r3.xxxx, r8.xxyz, r4.xxyz
  movc r2.yzw, r3.xxxx, r8.xxyz, r2.yyzw
  add r4.xy, r2.xxxx, -cb5[3].xzxx
  mul_sat r2.x, r4.y, cb5[3].w
  mad_sat r3.x, -r4.x, cb5[3].y, l(1.000000e+000)
  max r2.x, r2.x, r3.x
  mad_sat r4.xyz, r2.xxxx, l(-2.004008e+000, -2.004008e+000, -1.000000e+003, 0.000000e+000), l(1.000000e+000, 2.002004e+000, 1.000000e+003, 0.000000e+000)
  add r2.x, -r4.x, l(1.000000e+000)
  min r2.x, r2.x, r4.y
  add r3.x, r2.x, r4.x
  add r4.y, -r3.x, l(1.000000e+000)
  min r4.y, r4.y, r4.z
  add r3.x, r3.x, r4.y
  add r3.x, -r3.x, l(1.000000e+000)
  mul r5.xyz, r2.xxxx, r8.xyzx
  mad r4.xzw, r1.xxyz, r4.xxxx, r5.xxyz
  mad r3.yzw, r3.yyzw, r4.yyyy, r4.xxzw
  mad r1.xyz, r2.yzwy, r3.xxxx, r3.yzwy
endif 
movc r2.x, cb5[89].z, l(1), l(0)
if_nz r2.x
  sample_l_indexable(texture2d)(float,float,float,float) r2.xyzw, v1.xyxx, t11.xyzw, s11, l(0.000000e+000)
  add r3.xyz, -r1.xyzx, r2.xyzx
  mad r1.xyz, r2.wwww, r3.xyzx, r1.xyzx
else 
  mov r2.xyzw, l(0,0,0,0)
endif 
ldms_aoffimmi_indexable(4,0,0)(texture2dms)(float,float,float,float) r3.x, r0.xyww, t3.xyzw, l(0)
ldms_aoffimmi_indexable(0,4,0)(texture2dms)(float,float,float,float) r3.y, r0.xyww, t3.yxzw, l(0)
add r3.x, r3.y, r3.x
ldms_aoffimmi_indexable(-4,0,0)(texture2dms)(float,float,float,float) r3.y, r0.xyww, t3.yxzw, l(0)
add r3.x, r3.y, r3.x
ldms_aoffimmi_indexable(0,-4,0)(texture2dms)(float,float,float,float) r3.y, r0.xyww, t3.yxzw, l(0)
add r3.x, r3.y, r3.x
mad r3.x, -r3.x, l(2.500000e-001), cb5[0].w
add r3.x, r3.x, l(1.000000e+000)
div r3.x, cb5[0].z, r3.x
ldms_indexable(texture2dms)(uint,uint,uint,uint) r0.x, r0.xyzw, t8.yxzw, l(0)
utof r0.x, r0.x
mul r0.x, r0.x, l(3.921569e-003)
lt r0.x, cb5[56].x, r0.x
movc r0.x, r0.x, l(0), l(1.000000)
mul r0.yz, v1.xxyx, l(0.000000e+000, 5.816400e+001, 4.713000e+001, 0.000000e+000)
mad r3.yz, v1.xxyx, l(0.000000e+000, 2.000000e+000, -2.000000e+000, 0.000000e+000), l(0.000000e+000, -1.000000e+000, 1.000000e+000, 0.000000e+000)
mad r4.xy, v1.xyxx, l(2.000000e+000, -2.000000e+000, 0.000000e+000, 0.000000e+000), l(-1.000000e+000, 1.000000e+000, 0.000000e+000, 0.000000e+000)
mov r4.zw, l(0,0,1.000000,1.000000)
dp3 r5.x, r4.xyzx, cb5[21].xyzx
dp3 r5.y, r4.xyzx, cb5[22].xyzx
dp3 r5.z, r4.xyzx, cb5[23].xyzx
mad r4.xyz, r5.xyzx, r3.xxxx, cb1[15].xyzx
dp4 r5.x, r4.xyzw, cb5[18].xyzw
dp4 r5.y, r4.xyzw, cb5[19].xyzw
dp4 r0.w, r4.xyzw, cb5[20].xyzw
eq r3.x, r0.w, l(0.000000e+000)
movc r0.w, r3.x, l(0.000010), r0.w
div r3.xw, r5.xxxy, r0.wwww
add r3.xw, -r3.xxxw, r3.yyyz
mul r3.xw, r3.xxxw, l(2.500000e+000, 0.000000e+000, 0.000000e+000, -1.406250e+000)
dp2 r0.w, r3.xwxx, r3.xwxx
lt r4.x, l(1.000000e+000), r0.w
rsq r0.w, r0.w
mul r4.yz, r0.wwww, r3.xxwx
movc r3.xw, r4.xxxx, r4.yyyz, r3.xxxw
mul r3.xw, r3.xxxw, cb5[16].xxxx
mul r3.xw, r3.xxxw, l(1.000000e-001, 0.000000e+000, 0.000000e+000, 1.777778e-001)
mul r4.xyz, r0.xxxx, r1.xyzx
eq r0.w, l(1.500000e+002), cb5[3].z
movc r4.w, r0.w, l(0), l(24.000000)
rsq r5.x, cb5[17].x
div r5.x, l(1.000000e+000, 1.000000e+000, 1.000000e+000, 1.000000e+000), r5.x
mul r4.w, r4.w, r5.x
div r5.xy, r3.xwxx, r4.wwww
mad r0.yz, r1.xxyx, l(0.000000e+000, 8.000000e+000, 8.000000e+000, 0.000000e+000), r0.yyzy
sample_indexable(texture2d)(float,float,float,float) r0.y, r0.yzyy, t12.yxzw, s12
mad r0.y, -r4.w, l(5.000000e-001), r0.y
mad r0.yz, r5.xxyx, r0.yyyy, v1.xxyx
round_z r4.w, r4.w
ftoi r4.w, r4.w
mov r6.zw, l(0,0,0,0)
mov r7.xyz, r4.xyzx
mov r5.z, r0.x
mov r5.w, l(1.000000)
loop 
  ftoi r7.w, r5.w
  ige r8.x, r7.w, r4.w
  if_nz r8.x
    break 
  endif 
  mad r8.xy, r5.xyxx, r5.wwww, r0.yzyy
  mul r8.xy, r8.xyxx, cb2[15].xyxx
  round_ne r8.xy, r8.xyxx
  ftoi r6.xy, r8.xyxx
  ldms_indexable(texture2dms)(uint,uint,uint,uint) r8.x, r6.xyww, t8.yxzw, l(0)
  utof r8.x, r8.x
  mul r8.x, r8.x, l(3.921569e-003)
  lt r8.x, cb5[56].x, r8.x
  movc r8.x, r8.x, l(0), l(1.000000)
  ldms_indexable(texture2dms)(float,float,float,float) r8.yzw, r6.xyzw, t5.wxyz, l(0)
  mad r7.xyz, r8.yzwy, r8.xxxx, r7.xyzx
  add r5.z, r5.z, r8.x
  iadd r6.x, r7.w, l(1)
  itof r5.w, r6.x
endloop 
max r0.y, r5.z, l(1.000000e-001)
div r4.xyz, r7.xyzx, r0.yyyy
dp2 r0.y, r3.xwxx, r3.xwxx
mul r0.y, r0.y, l(1.000000e+005)
min r0.y, r0.y, l(1.000000e+000)
mul r0.x, r0.x, r0.y
add r4.xyz, -r1.xyzx, r4.xyzx
mad r0.xyz, r0.xxxx, r4.xyzx, r1.xyzx
sample_l_indexable(texture2d)(float,float,float,float) r1.xyz, v1.xyxx, t10.xyzw, s10, l(0.000000e+000)
sample_l_indexable(texture2d)(float,float,float,float) r3.x, v1.xyxx, t4.xyzw, s4, l(0.000000e+000)
lt r4.xy, r3.xxxx, l(1.000000e-002, 1.500000e+000, 0.000000e+000, 0.000000e+000)
dp3 r3.w, r0.xyzx, l(2.126000e-001, 7.152000e-001, 7.220000e-002, 0.000000e+000)
add r4.z, -r0.x, r0.z
add r4.z, -r0.y, r4.z
add r4.z, r0.z, r4.z
mul_sat r4.z, r4.z, l(3.333333e-002)
mad r5.xyz, r3.wwww, l(3.000000e+000, 3.000000e+000, 3.000000e+000, 0.000000e+000), -r0.xyzx
mad r5.xyz, r4.zzzz, r5.xyzx, r0.xyzx
movc r0.xyz, r4.xxxx, r5.xyzx, r0.xyzx
and r3.w, r0.w, r4.y
ne r4.x, l(0.000000e+000, 0.000000e+000, 0.000000e+000, 0.000000e+000), v10.z
not r3.w, r3.w
and r3.w, r3.w, r4.x
if_nz r3.w
  add r4.xy, v1.xyxx, -v10.xyxx
  mul r4.xy, r4.xyxx, cb5[0].xyxx
  mul r4.xy, r4.xyxx, l(3.000000e+000, 3.000000e+000, 0.000000e+000, 0.000000e+000)
  dp2 r3.w, r4.xyxx, r4.xyxx
  min r4.x, r3.w, l(1.000000e+000)
  div r3.x, cb5[0].z, r3.x
  add r3.x, r3.x, l(-1.000000e+000)
  add r3.x, r3.x, -cb5[0].w
  mad r4.yz, v1.xxyx, l(0.000000e+000, 2.000000e+000, 2.000000e+000, 0.000000e+000), l(0.000000e+000, -1.000000e+000, -1.000000e+000, 0.000000e+000)
  mul r5.xyzw, -r4.zzzz, v5.xyzw
  mad r5.xyzw, v4.xyzw, r4.yyyy, r5.xyzw
  mad r5.xyzw, v6.xyzw, -r3.xxxx, r5.xyzw
  add r5.xyzw, r5.xyzw, v7.xyzw
  div r4.yzw, r5.xxyz, r5.wwww
  dp3 r5.x, r4.yzwy, r4.yzwy
  rsq r5.x, r5.x
  mul r5.xyz, r4.yzwy, r5.xxxx
  max r6.x, v13.y, cb1[15].z
  min r6.x, r6.x, v13.x
  add r6.y, r6.x, -cb1[15].z
  div r6.y, r6.y, r5.z
  ge r6.z, r6.y, l(0.000000e+000)
  lt r6.w, r6.y, l(8.200000e+003)
  and r6.z, r6.w, r6.z
  if_nz r6.z
    mul r4.yzw, r4.yyzw, l(0.000000e+000, 8.100000e-001, 8.100000e-001, 1.000000e+000)
    dp3 r4.y, -r4.yzwy, -r4.yzwy
    sqrt r4.y, r4.y
    mad r4.zw, r5.xxxy, r6.yyyy, cb1[15].xxxy
    dp3 r6.z, r5.xyzx, l(1.298980e+001, 7.823300e+001, 3.771900e+001, 0.000000e+000)
    sincos r6.z, null, r6.z
    mul r6.z, r6.z, l(4.375855e+004)
    frc r6.z, r6.z
    add r6.z, r6.z, l(-5.000000e-001)
    eq r6.w, -r3.x, l(1.000000e+000)
    movc r4.y, r6.w, l(8200.000000), r4.y
    add r7.xy, -v12.zxzz, v12.yyyy
    div r7.xz, l(1.000000e+000, 1.000000e+000, 1.000000e+000, 1.000000e+000), r7.xxyx
    mov r8.z, l(0)
    mov r9.xy, r4.zwzz
    mov r6.w, r6.y
    mov r7.w, r6.y
    mov r9.w, l(0)
    mov r9.z, r6.x
    mov r10.xyzw, l(6.000000,0.500000,0,1.000000)
    mov r11.x, l(0)
    loop 
      lt r11.y, l(0.000000e+000), r10.w
      ge r11.z, v13.x, r9.z
      and r11.y, r11.z, r11.y
      ge r11.z, r9.z, v13.y
      and r11.y, r11.z, r11.y
      ilt r11.z, r11.x, l(188)
      and r11.y, r11.z, r11.y
      add r11.z, r6.w, -r10.x
      lt r11.z, r11.z, r4.y
      and r11.y, r11.z, r11.y
      breakc_z r11.y
      add r11.yz, r9.zzzz, -v12.xxzx
      div_sat r11.y, r11.y, r7.y
      mad r11.y, r11.y, l(3.000001e-001), l(9.000000e-001)
      mul_sat r11.z, r7.x, r11.z
      mad r11.w, r11.z, l(-2.000000e+000), l(3.000000e+000)
      mul r11.z, r11.z, r11.z
      mul r11.z, r11.z, r11.w
      min r11.w, r9.z, v12.w
      add r11.w, r11.w, -v12.x
      mul_sat r11.w, r7.z, r11.w
      mad r12.x, r11.w, l(-2.000000e+000), l(3.000000e+000)
      mul r11.w, r11.w, r11.w
      mul r11.w, r11.w, r12.x
      mul r11.z, r11.w, r11.z
      add r11.w, r11.y, v9.w
      add r11.y, -r11.y, v9.w
      mad r12.xyzw, r9.zzzz, l(-2.200000e-001, 0.000000e+000, -2.200000e-001, 0.000000e+000), r9.xyxy
      mad r12.xyzw, cb5[63].yyyy, l(1.000000e+007, 1.000000e+007, 1.000000e+007, 1.000000e+007), r12.xyzw
      mad r12.xyzw, cb3[54].xyzz, l(-2.030000e+003, 6.090000e+003, -4.060000e+003, 0.000000e+000), r12.xyzw
      mul r12.xyzw, r12.xyzw, l(3.333333e-005, 3.333333e-005, 1.562500e-004, 1.562500e-004)
      sample_l_indexable(texture2d)(float,float,float,float) r12.x, r12.xyxx, t7.zxyw, s13, l(0.000000e+000)
      sample_l_indexable(texture2d)(float,float,float,float) r12.y, r12.zwzz, t7.xzyw, s13, l(0.000000e+000)
      mul r12.y, r12.y, l(5.500000e-001)
      mad r12.x, r12.x, l(5.000000e-001), r12.y
      mul_sat r11.z, r11.z, r12.x
      add r11.z, r11.z, l(2.500000e-001)
      mad r12.xyz, cb3[54].zzzz, l(-1.020800e+004, 0.000000e+000, -9.570001e+002, 0.000000e+000), r9.xyzx
      mad r13.xyz, cb3[54].zzzz, l(-6.090000e+003, 0.000000e+000, -8.700001e+002, 0.000000e+000), r9.xyzx
      mul r12.xyz, r12.xyzx, v13.wwww
      round_ni r14.xyz, r12.xyzx
      frc r12.xyz, r12.xyzx
      dp2 r12.w, r14.xyxx, l(3.000000e+000, 1.700000e+001, 0.000000e+000, 0.000000e+000)
      add r12.w, r14.z, r12.w
      sincos r13.w, null, r12.w
      mul r13.w, r13.w, l(4.375855e+004)
      frc r13.w, r13.w
      add r14.xyzw, r12.wwww, l(1.000000e+000, 3.000000e+000, 1.700000e+001, 2.000000e+001)
      sincos r14.xyzw, null, r14.xyzw
      mul r14.xyzw, r14.xyzw, l(4.375855e+004, 4.375855e+004, 4.375855e+004, 4.375855e+004)
      frc r14.xyzw, r14.xyzw
      add r14.x, -r13.w, r14.x
      mad r13.w, r12.z, r14.x, r13.w
      add r15.xyz, r12.wwww, l(4.000000e+000, 1.800000e+001, 2.100000e+001, 0.000000e+000)
      sincos r15.xyz, null, r15.xyzx
      mul r15.xyz, r15.xyzx, l(4.375855e+004, 4.375855e+004, 4.375855e+004, 0.000000e+000)
      frc r15.xyz, r15.xyzx
      add r15.xyz, -r14.yzwy, r15.xyzx
      mad r14.xyz, r12.zzzz, r15.xyzx, r14.yzwy
      add r12.zw, -r12.xxxy, l(0.000000e+000, 0.000000e+000, 1.000000e+000, 1.000000e+000)
      mul r14.xz, r12.xxxx, r14.xxzx
      mad r12.x, r13.w, r12.z, r14.x
      mad r12.z, r14.y, r12.z, r14.z
      mul r12.y, r12.y, r12.z
      mad r12.x, r12.x, r12.w, r12.y
      mul r8.xyw, r12.xxxx, l(1.000000e+002, 1.000000e+002, 0.000000e+000, 3.400000e-001)
      add r12.xyz, r8.yyzy, r13.xyzx
      mul r12.xyz, r12.xyzx, l(6.666667e-002, 6.666667e-002, 6.666667e-002, 0.000000e+000)
      round_ni r14.xyz, r12.xyzx
      frc r12.xyz, r12.xyzx
      dp2 r12.w, r14.xyxx, l(3.000000e+000, 1.700000e+001, 0.000000e+000, 0.000000e+000)
      add r12.w, r14.z, r12.w
      sincos r13.w, null, r12.w
      mul r13.w, r13.w, l(4.375855e+004)
      frc r13.w, r13.w
      add r14.xyzw, r12.wwww, l(1.000000e+000, 3.000000e+000, 1.700000e+001, 2.000000e+001)
      sincos r14.xyzw, null, r14.xyzw
      mul r14.xyzw, r14.xyzw, l(4.375855e+004, 4.375855e+004, 4.375855e+004, 4.375855e+004)
      frc r14.xyzw, r14.xyzw
      add r14.x, -r13.w, r14.x
      mad r13.w, r12.z, r14.x, r13.w
      add r15.xyz, r12.wwww, l(4.000000e+000, 1.800000e+001, 2.100000e+001, 0.000000e+000)
      sincos r15.xyz, null, r15.xyzx
      mul r15.xyz, r15.xyzx, l(4.375855e+004, 4.375855e+004, 4.375855e+004, 0.000000e+000)
      frc r15.xyz, r15.xyzx
      add r15.xyz, -r14.yzwy, r15.xyzx
      mad r14.xyz, r12.zzzz, r15.xyzx, r14.yzwy
      add r12.zw, -r12.xxxy, l(0.000000e+000, 0.000000e+000, 1.000000e+000, 1.000000e+000)
      mul r14.xz, r12.xxxx, r14.xxzx
      mad r12.x, r13.w, r12.z, r14.x
      mad r12.z, r14.y, r12.z, r14.z
      mul r12.y, r12.y, r12.z
      mad r12.x, r12.x, r12.w, r12.y
      add r12.x, -r12.x, l(1.000000e+000)
      mad r8.w, r12.x, l(1.000000e-001), r8.w
      div r12.xyz, r8.xyzx, l(2.000000e+000, 2.000000e+000, 2.000000e+000, 0.000000e+000)
      add r12.xyz, r12.xyzx, r13.xyzx
      mul r12.xyz, r12.xyzx, l(1.111111e-001, 1.111111e-001, 1.111111e-001, 0.000000e+000)
      round_ni r13.xyz, r12.xyzx
      frc r12.xyz, r12.xyzx
      dp2 r8.x, r13.xyxx, l(3.000000e+000, 1.700000e+001, 0.000000e+000, 0.000000e+000)
      add r8.x, r13.z, r8.x
      sincos r8.y, null, r8.x
      mul r8.y, r8.y, l(4.375855e+004)
      frc r8.y, r8.y
      add r13.xyzw, r8.xxxx, l(1.000000e+000, 3.000000e+000, 1.700000e+001, 2.000000e+001)
      sincos r13.xyzw, null, r13.xyzw
      mul r13.xyzw, r13.xyzw, l(4.375855e+004, 4.375855e+004, 4.375855e+004, 4.375855e+004)
      frc r13.xyzw, r13.xyzw
      add r12.w, -r8.y, r13.x
      mad r8.y, r12.z, r12.w, r8.y
      add r14.xyz, r8.xxxx, l(4.000000e+000, 1.800000e+001, 2.100000e+001, 0.000000e+000)
      sincos r14.xyz, null, r14.xyzx
      mul r14.xyz, r14.xyzx, l(4.375855e+004, 4.375855e+004, 4.375855e+004, 0.000000e+000)
      frc r14.xyz, r14.xyzx
      add r14.xyz, -r13.yzwy, r14.xyzx
      mad r13.xyz, r12.zzzz, r14.xyzx, r13.yzwy
      add r12.zw, -r12.xxxy, l(0.000000e+000, 0.000000e+000, 1.000000e+000, 1.000000e+000)
      mul r13.xz, r12.xxxx, r13.xxzx
      mad r8.x, r8.y, r12.z, r13.x
      mad r8.y, r13.y, r12.z, r13.z
      mul r8.y, r12.y, r8.y
      mad r8.x, r8.x, r12.w, r8.y
      mad r8.x, r8.x, l(1.000000e-001), r8.w
      add r8.x, r8.x, l(9.500000e-001)
      mul r8.x, r8.x, r11.z
      mad r8.y, r8.x, l(4.102564e-001), l(-2.000000e-001)
      add r8.w, r11.y, l(-2.000000e-001)
      div_sat r8.y, r8.y, r8.w
      mad r8.y, r8.y, l(-1.190000e+002), r6.z
      add r8.y, r8.y, l(1.250000e+002)
      min r8.y, r8.y, l(2.500000e+001)
      add r8.w, r6.w, l(-3.000000e+004)
      mul_sat r8.w, r8.w, l(-3.333333e-005)
      mad r8.w, r8.w, l(-8.000000e+000), l(9.000000e+000)
      mul r11.z, r8.w, r8.y
      add r11.w, -r11.y, r11.w
      mad r8.x, r8.x, l(4.102564e-001), -r11.y
      div r11.y, l(1.000000e+000, 1.000000e+000, 1.000000e+000, 1.000000e+000), r11.w
      mul_sat r8.x, r8.x, r11.y
      mad r11.y, r8.x, l(-2.000000e+000), l(3.000000e+000)
      mul r8.x, r8.x, r8.x
      mul r8.x, r8.x, r11.y
      mul r8.x, r11.z, r8.x
      mul r8.x, r8.x, l(2.000000e+001)
      add r11.y, r10.w, l(1.000000e-003)
      mul_sat r11.w, r6.w, l(1.666667e-004)
      mad r12.x, r11.w, l(-2.000000e+000), l(3.000000e+000)
      mul r11.w, r11.w, r11.w
      mul r11.w, r11.w, r12.x
      mad r11.w, r11.w, l(-7.000000e-001), l(1.000000e+000)
      mul r12.y, r8.x, r11.w
      ge r8.x, r6.w, r4.y
      div r11.w, r9.w, r10.x
      mul r13.y, r11.w, r12.y
      mul r11.w, r9.w, l(1.000000e-003)
      div r11.w, r11.w, r10.x
      add r13.x, r10.z, r11.w
      add r12.x, r10.z, l(1.000000e-003)
      movc r12.xy, r8.xxxx, r13.xyxx, r12.xyxx
      mul r8.x, r11.y, r12.y
      mad r13.xyz, v11.xyzx, l(1.200000e+002, 1.200000e+002, 1.200000e+002, 0.000000e+000), r9.xyzx
      add r12.zw, r13.zzzz, -v12.xxxz
      div_sat r11.w, r12.z, r7.y
      mad r11.w, r11.w, l(3.000001e-001), l(9.000000e-001)
      mul_sat r12.z, r7.x, r12.w
      mad r12.w, r12.z, l(-2.000000e+000), l(3.000000e+000)
      mul r12.z, r12.z, r12.z
      mul r12.z, r12.z, r12.w
      min r12.w, r13.z, v12.w
      add r12.w, r12.w, -v12.x
      mul_sat r12.w, r7.z, r12.w
      mad r13.w, r12.w, l(-2.000000e+000), l(3.000000e+000)
      mul r12.w, r12.w, r12.w
      mul r12.w, r12.w, r13.w
      mul r12.z, r12.w, r12.z
      add r12.w, -r11.w, v9.w
      mad r13.xyzw, r13.zzzz, l(-2.200000e-001, 0.000000e+000, -2.200000e-001, 0.000000e+000), r13.xyxy
      mad r13.xyzw, cb5[63].yyyy, l(1.000000e+007, 1.000000e+007, 1.000000e+007, 1.000000e+007), r13.xyzw
      mad r13.xyzw, cb3[54].xyzz, l(-2.030000e+003, 6.090000e+003, -4.060000e+003, 0.000000e+000), r13.xyzw
      mul r13.xyzw, r13.xyzw, l(3.333333e-005, 3.333333e-005, 1.562500e-004, 1.562500e-004)
      sample_l_indexable(texture2d)(float,float,float,float) r13.x, r13.xyxx, t7.zxyw, s13, l(0.000000e+000)
      sample_l_indexable(texture2d)(float,float,float,float) r13.y, r13.zwzz, t7.xzyw, s13, l(0.000000e+000)
      mul r13.y, r13.y, l(5.500000e-001)
      mad r13.x, r13.x, l(5.000000e-001), r13.y
      mul_sat r12.z, r12.z, r13.x
      add r12.z, -r12.w, r12.z
      add r11.w, r11.w, r11.w
      div_sat r11.w, r12.z, r11.w
      mad r11.w, -r11.w, l(8.100000e+000), l(1.000000e+000)
      add r11.w, -r10.y, r11.w
      mad r10.y, r8.x, r11.w, r10.y
      mad r11.y, -r11.y, r12.y, l(1.000000e+000)
      mul r8.x, r6.w, r8.x
      mad r8.x, r7.w, r11.y, r8.x
      min r7.w, r8.x, l(7.000000e+003)
      add r10.z, r12.y, r12.x
      mul r8.x, r10.z, l(-1.442695e+000)
      exp r8.x, r8.x
      add r8.x, r8.x, l(-7.500000e-002)
      mul r10.w, r8.x, l(1.081081e+000)
      add r9.w, r4.y, -r6.w
      mad r9.xyz, r5.xyzx, r11.zzzz, r9.xyzx
      mad r6.w, r8.y, r8.w, r6.w
      iadd r11.x, r11.x, l(1)
      mov r10.x, r11.z
    endloop 
    lt r4.y, l(1.000000e-003), r10.z
    if_nz r4.y
      mul r3.yz, r3.yyzy, cb5[0].xxyx
      mul r6.xyz, r3.zzzz, cb1[13].xyzx
      mad r6.xyz, r3.yyyy, cb1[12].xyzx, r6.xyzx
      add r6.xyz, r6.xyzx, -cb1[14].xyzx
      mul r6.xyz, r6.xyzx, l(1.000000e+004, 1.000000e+004, 1.000000e+004, 0.000000e+000)
      dp3 r3.y, r6.xyzx, r6.xyzx
      rsq r3.z, r3.y
      mul r6.xyw, r6.xyxz, r3.zzzz
      add r3.z, r3.y, -cb3[50].x
      max r3.z, r3.z, l(0.000000e+000)
      div r3.y, r3.z, r3.y
      mul r3.y, r6.z, r3.y
      mul r4.z, r3.y, cb3[52].z
      lt r3.y, l(1.000000e-002), |r3.y|
      mul r4.w, r4.z, l(-1.442695e+000)
      exp r4.w, r4.w
      add r4.w, -r4.w, l(1.000000e+000)
      div r4.z, r4.w, r4.z
      movc r3.y, r3.y, r4.z, l(1.000000)
      mul r4.z, r3.z, cb3[51].w
      mul r3.z, r3.z, -cb3[51].z
      mul r3.z, r3.z, l(1.442695e+000)
      exp r3.z, r3.z
      mul r3.y, r3.y, r4.z
      min r3.y, r3.y, l(1.000000e+000)
      mul r3.y, r3.y, l(1.442695e+000)
      exp r3.y, r3.y
      min r3.y, r3.y, l(1.000000e+000)
      add r3.yz, -r3.yyzy, l(0.000000e+000, 1.000000e+000, 1.000000e+000, 0.000000e+000)
      mad r3.y, -r3.y, cb3[52].y, l(1.000000e+000)
      mul r3.y, r3.y, cb3[51].y
      dp3_sat r4.z, r6.xywx, cb3[53].xyzx
      dp3_sat r4.w, r6.xywx, cb3[54].xyzx
      log r4.w, r4.w
      mul r4.w, r4.w, cb3[54].w
      exp r4.w, r4.w
      log r4.z, r4.z
      mul r4.z, r4.z, cb3[53].w
      exp r4.z, r4.z
      add r6.xyz, -cb3[56].xyzx, cb3[58].xyzx
      mad r6.xyz, r4.wwww, r6.xyzx, cb3[56].xyzx
      add r7.xyz, -r6.xyzx, cb3[55].xyzx
      mad r6.xyz, r4.zzzz, r7.xyzx, r6.xyzx
      add r6.xyz, r6.xyzx, -cb3[57].xyzx
      mad r6.xyz, r3.zzzz, r6.xyzx, cb3[57].xyzx
      add r7.x, -r6.x, cb3[55].w
      add r7.y, -r6.y, cb3[56].w
      add r7.z, -r6.z, cb3[57].w
      mad r6.xyz, r3.yyyy, r7.xyzx, r6.xyzx
      mad r7.xyz, r6.xyzx, l(2.900000e-001, 2.900000e-001, 2.900000e-001, 0.000000e+000), -v8.xyzx
      mad r7.xyz, r7.xyzx, l(2.400000e-001, 2.400000e-001, 2.400000e-001, 0.000000e+000), v8.xyzx
      mad r8.xyz, r6.xyzx, l(1.100000e+000, 1.100000e+000, 1.100000e+000, 0.000000e+000), -v9.xyzx
      mad r8.xyz, r8.xyzx, l(2.400000e-001, 2.400000e-001, 2.400000e-001, 0.000000e+000), v9.xyzx
      max r5.w, r5.z, l(1.000000e-001)
      dp3 r3.y, v11.xyzx, r5.xywx
      add r3.y, r3.y, l(-1.000000e+000)
      div r3.y, r3.y, |v11.w|
      dp3 r3.z, r8.xyzx, r8.xyzx
      rsq r3.z, r3.z
      mul r5.xyz, r3.zzzz, r8.xyzx
      mul r5.xyz, r5.xyzx, |v11.wwww|
      mul r3.yz, r3.yyyy, l(0.000000e+000, 4.300000e-001, 5.200000e+001, 0.000000e+000)
      exp r3.yz, r3.yyzy
      mad r5.xyz, r5.xyzx, r3.yyyy, r8.xyzx
      dp3 r3.y, r5.xyzx, r5.xyzx
      rsq r3.y, r3.y
      mul r8.xyz, r3.yyyy, r5.xyzx
      mul r8.xyz, r8.xyzx, v14.wwww
      mad r5.xyz, r8.xyzx, r3.zzzz, r5.xyzx
      mov_sat r10.y, r10.y
      mad r3.y, r10.y, l(-2.000000e+000), l(3.000000e+000)
      mul r3.z, r10.y, r10.y
      mul r3.y, r3.z, r3.y
      add r5.xyz, -r7.xyzx, r5.xyzx
      mad r5.xyz, r3.yyyy, r5.xyzx, r7.xyzx
      add r6.xyz, -r5.xyzx, r6.xyzx
      mul r6.xyz, r6.xyzx, v14.yyyy
      div r3.y, l(1.000000e+000, 1.000000e+000, 1.000000e+000, 1.000000e+000), v14.z
      mul_sat r3.y, r3.y, r7.w
      mad r3.z, r3.y, l(-2.000000e+000), l(3.000000e+000)
      mul r3.y, r3.y, r3.y
      mul r3.y, r3.y, r3.z
      mad r5.xyz, r3.yyyy, r6.xyzx, r5.xyzx
      add r3.yz, r7.wwww, l(0.000000e+000, -9.000000e+003, -8.200000e+003, 0.000000e+000)
      mul_sat r3.yz, r3.yyzy, l(0.000000e+000, -1.111111e-004, -8.333334e-004, 0.000000e+000)
      mad r4.zw, r3.yyyz, l(0.000000e+000, 0.000000e+000, -2.000000e+000, -2.000000e+000), l(0.000000e+000, 0.000000e+000, 3.000000e+000, 3.000000e+000)
      mul r3.yz, r3.yyzy, r3.yyzy
      mul r3.yz, r3.yyzy, r4.zzwz
      mul r4.z, r10.z, r3.y
      dp2 r4.w, v13.xyxx, l(2.200000e-001, 7.800000e-001, 0.000000e+000, 0.000000e+000)
      div r4.w, cb1[15].z, r4.w
      lt r6.x, l(1.000000e+000), r4.w
      rcp r6.y, r4.w
      max r6.y, r6.y, l(6.800000e-001)
      add r6.y, r6.y, l(-1.000000e+000)
      mad r3.y, r3.y, r6.y, l(1.000000e+000)
      mul r8.xyz, r3.yyyy, r5.xyzx
      min r3.y, r4.w, l(1.300000e+000)
      mul r8.w, r3.y, l(1.800000e+000)
      mov r5.w, l(1.000000)
      movc r5.xyzw, r6.xxxx, r8.xyzw, r5.xyzw
      mul r3.y, -r4.z, r5.w
      mul r3.y, r3.y, v15.x
      exp r3.y, r3.y
      add r3.y, -r3.y, l(1.000000e+000)
      mul r5.w, r3.z, r3.y
    else 
      mov r7.w, l(0.900000)
    endif 
  else 
    mov r7.w, l(0.900000)
    mov r4.y, l(0)
  endif 
  and r5.xyzw, r5.xyzw, r4.yyyy
  add r3.y, -r4.x, l(1.000000e+000)
  mul r3.z, r3.y, r5.w
  mad_sat r3.z, r3.z, l(1.400000e-001), r5.w
  mul r3.y, r3.y, r3.z
  mad r3.y, -r3.y, l(1.250000e+000), l(1.000000e+000)
  max r3.y, r3.y, l(0.000000e+000)
  lt r1.w, l(1.200000e-001), r1.w
  and r0.w, r0.w, r1.w
  mul_sat r1.w, r3.x, l(-2.700000e+004)
  add r4.xyz, r0.xyzx, r1.wwww
  dp3 r1.w, r4.xyzx, l(3.333330e-001, 3.333330e-001, 3.333330e-001, 0.000000e+000)
  lt r1.w, r1.w, l(5.700000e-001)
  and r0.w, r0.w, r1.w
  lt r4.xy, -r3.xxxx, l(1.400000e-004, 1.000000e-007, 0.000000e+000, 0.000000e+000)
  and r0.w, r0.w, r4.x
  mad r1.w, v8.w, -r3.z, r3.z
  movc r0.w, r0.w, r1.w, r3.z
  add r1.w, v12.z, v12.y
  mul r1.w, r1.w, l(5.000000e-001)
  lt r1.w, cb1[15].z, r1.w
  and r1.w, r4.y, r1.w
  if_nz r1.w
    mad r3.xz, -cb5[74].xxyx, l(1.900000e-003, 0.000000e+000, 1.900000e-003, 0.000000e+000), v1.xxyx
    sample_l_indexable(texture2d)(float,float,float,float) r1.w, r3.xzxx, t14.xywz, s14, l(0.000000e+000)
    mov r4.xw, v1.xxxy
    mad r4.yz, cb5[74].yyxy, l(0.000000e+000, 1.900000e-003, 1.900000e-003, 0.000000e+000), v1.yyxy
    sample_l_indexable(texture2d)(float,float,float,float) r3.x, r4.xyxx, t14.zxyw, s14, l(0.000000e+000)
    add r3.z, r1.w, r3.x
    sample_l_indexable(texture2d)(float,float,float,float) r4.x, r4.zwzz, t14.zxyw, s14, l(0.000000e+000)
    mad r4.yz, cb5[74].xxyx, l(0.000000e+000, 1.900000e-003, 1.900000e-003, 0.000000e+000), v1.xxyx
    sample_l_indexable(texture2d)(float,float,float,float) r4.y, r4.yzyy, t14.xzyw, s14, l(0.000000e+000)
    add r4.z, r4.x, r4.y
    add r1.w, r1.w, r4.x
    add r3.x, r3.x, r4.y
    add r3.z, r3.z, -r4.z
    add r1.w, r1.w, -r3.x
    min r1.w, |r3.z|, |r1.w|
    mul r3.x, r3.w, r3.w
    mul r3.x, r3.x, r3.x
    mul r3.x, r3.x, l(3.800000e-003)
    min r3.x, r3.x, l(1.000000e+000)
    mul r1.w, r1.w, r3.x
    lt r1.w, l(1.000000e-004), r1.w
    add r3.z, r7.w, l(-4.000000e+003)
    mul_sat r3.z, r3.z, l(-2.500000e-004)
    mad r3.w, r3.z, l(-2.000000e+000), l(3.000000e+000)
    mul r3.z, r3.z, r3.z
    mul r3.z, r3.z, r3.w
    mad r3.z, r3.z, l(-3.000000e-001), l(9.000000e-001)
    movc r1.w, r1.w, r3.z, l(1.000000)
    sample_l_aoffimmi_indexable(1,1,0)(texture2d)(float,float,float,float) r3.z, v1.xyxx, t4.yzxw, s4, l(0.000000e+000)
    sample_l_aoffimmi_indexable(1,-1,0)(texture2d)(float,float,float,float) r3.w, v1.xyxx, t4.yzwx, s4, l(0.000000e+000)
    add r3.z, r3.w, r3.z
    sample_l_aoffimmi_indexable(-1,1,0)(texture2d)(float,float,float,float) r3.w, v1.xyxx, t4.yzwx, s4, l(0.000000e+000)
    add r3.z, r3.w, r3.z
    sample_l_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r3.w, v1.xyxx, t4.yzwx, s4, l(0.000000e+000)
    add r3.z, r3.w, r3.z
    mul r3.xz, r3.xxzx, l(9.900000e+001, 0.000000e+000, 2.500000e-001, 0.000000e+000)
    div r3.z, cb5[0].z, r3.z
    add r3.z, r3.z, -cb5[0].w
    add r3.z, r3.z, l(-1.000000e+000)
    lt r3.w, -r3.z, l(1.600000e-004)
    ge r3.z, -r3.z, l(1.000000e-007)
    and r3.z, r3.z, r3.w
    movc r1.w, r3.z, l(0.990000), r1.w
    mul r5.xyz, r1.wwww, r5.xyzx
    mul r1.w, v1.w, v8.w
    lt r1.w, r0.z, r1.w
    mul r3.z, r0.w, l(6.000000e-002)
    movc r1.w, r1.w, r3.z, r0.w
    lt r3.z, cb1[15].z, v13.y
    lt r3.w, v8.w, l(9.000000e-002)
    movc r3.w, r3.w, l(190.000000), l(0.900000)
    max r4.x, r1.z, r1.y
    max r4.x, r1.x, r4.x
    mul_sat r3.w, r3.w, r4.x
    min r3.x, r3.x, l(1.000000e+000)
    mul r3.x, r3.x, r3.w
    mul r3.x, r1.w, r3.x
    mad r3.x, r3.x, l(-8.800000e-001), r1.w
    movc r0.w, r3.z, r3.x, r1.w
  endif 
  mov_sat r0.w, r0.w
  add r3.xzw, -r0.xxyz, r5.xxyz
  mad r0.xyz, r0.wwww, r3.xzwx, r0.xyzx
else 
  mov r3.y, l(1.000000)
endif 
sample_indexable(texture2d)(float,float,float,float) r3.xzw, v1.xyxx, t14.xwyz, s14
add r2.xyz, r2.xyzx, -r3.xzwx
mad r2.xyz, r2.wwww, r2.xyzx, r3.xzwx
movc r2.xyz, cb5[89].zzzz, r2.xyzx, r3.xzwx
add r2.xyz, -r0.xyzx, r2.xyzx
mad r0.xyz, cb5[64].xxxx, r2.xyzx, r0.xyzx
mul r1.xyz, r1.xyzx, r3.yyyy
mul r1.xyz, r1.xyzx, v1.wwww
lt r0.w, l(0.000000e+000), cb5[75].z
if_nz r0.w
  sample_l_indexable(texture2d)(float,float,float,float) r0.w, v1.xyxx, t15.yzwx, s15, l(0.000000e+000)
  mul r0.w, r0.w, r0.w
  mul r0.w, r0.w, r0.w
  mul r0.w, r0.w, r0.w
  mad r0.xyz, cb5[46].xyzx, r0.wwww, r0.xyzx
endif 
sample_indexable(texture2d)(float,float,float,float) r2.xyz, v1.xyxx, t13.xyzw, s13
mul r2.xyz, r3.yyyy, r2.xyzx
add r0.w, v1.z, -cb5[34].x
mul_sat r0.w, r0.w, cb5[34].y
add r1.w, -cb5[34].z, cb5[34].w
mad r0.w, r0.w, r1.w, cb5[34].z
add r0.w, r0.w, l(-1.000000e+000)
mad r0.w, cb5[35].x, r0.w, l(1.000000e+000)
mul r0.w, r0.w, cb5[36].w
mad r0.xyz, r2.xyzx, r0.wwww, r0.xyzx
mul r1.xyz, r1.xyzx, cb5[7].yyyy
mad o0.xyz, r1.xyzx, l(2.500000e-001, 2.500000e-001, 2.500000e-001, 0.000000e+000), r0.xyzx
mov o0.w, l(1.000000)
ret